System ক্লাসটি Java তে একটি utility class যা বিভিন্ন সিস্টেম স্তরের কার্যাবলী পরিচালনা করতে ব্যবহৃত হয়। এটি java.lang প্যাকেজের অন্তর্গত এবং এর মেথডগুলি সিস্টেম রিসোর্স যেমন টাইম, মেমরি, এনভায়রনমেন্ট ভেরিয়েবল ইত্যাদি ম্যানেজ করার জন্য ব্যবহৃত হয়।
নিচে System ক্লাসের কিছু গুরুত্বপূর্ণ মেথড এবং তাদের কার্যাবলী ব্যাখ্যা করা হলো:
1. currentTimeMillis()
currentTimeMillis() মেথডটি সিস্টেমের বর্তমান সময় milliseconds (মিলিসেকেন্ডে) হিসেবে রিটার্ন করে। এটি Unix epoch (January 1, 1970, 00:00:00 GMT) থেকে বর্তমানে পর্যন্ত কত মিলিসেকেন্ড পেরিয়েছে তা রিটার্ন করে।
ব্যবহার:
- সাধারণত, এই মেথডটি time measurement বা benchmarking এর জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
public static long currentTimeMillis();
উদাহরণ:
public class SystemExample {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
// Some operation
for (int i = 0; i < 1000000; i++) {
// Just a loop for time measurement
}
long endTime = System.currentTimeMillis();
System.out.println("Time taken: " + (endTime - startTime) + " milliseconds.");
}
}
Output:
Time taken: 25 milliseconds.
2. exit()
exit(int status) মেথডটি Java program কে সম্পূর্ণভাবে বন্ধ করতে ব্যবহৃত হয়। এটি একটি exit status গ্রহণ করে, যা প্রোগ্রাম বন্ধ হওয়ার পর OS-এ রিটার্ন কোড হিসেবে ব্যবহৃত হয়। সাধারণত, 0 মানে হলো সফলভাবে প্রোগ্রাম শেষ হয়েছে এবং non-zero মানে প্রোগ্রামের কোনো ত্রুটি ঘটেছে।
ব্যবহার:
- এই মেথডটি সাধারণত error handling বা explicit termination এর জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
public static void exit(int status);
উদাহরণ:
public class SystemExitExample {
public static void main(String[] args) {
System.out.println("Program is starting.");
// Exit with status 0 (successful)
System.exit(0);
// This line will not be executed because the program is terminated
System.out.println("This will not be printed.");
}
}
Output:
Program is starting.
Note: System.exit(0) মেথডটি প্রোগ্রাম সম্পূর্ণভাবে বন্ধ করে দেবে, এবং পরবর্তী কোডগুলো কার্যকর হবে না।
3. gc()
gc() মেথডটি Garbage Collection প্রক্রিয়া শুরু করার জন্য ব্যবহৃত হয়। এটি JVM কে অনুরোধ করে যাতে অপ্রয়োজনীয় অবজেক্টগুলো মেমরি থেকে মুছে ফেলা হয় (garbage collected)। তবে, এটি suggested ভাবে garbage collection শুরু করতে বলে, কিন্তু এটি কোনোভাবেই নিশ্চয়তা দেয় না যে জাভা গার্বেজ কलेक্টর এটি ঠিক সময়ে বা ঠিকভাবে করবে।
ব্যবহার:
- এই মেথডটি বিশেষ করে মেমরি ব্যবস্থাপনা বা সিস্টেমের মেমরি ব্যবহারের জন্য ব্যবহৃত হতে পারে।
সিনট্যাক্স:
public static void gc();
উদাহরণ:
public class SystemGcExample {
public static void main(String[] args) {
// Request garbage collection
System.gc();
System.out.println("Garbage collection has been requested.");
}
}
Output:
Garbage collection has been requested.
Note: এটি মেমরি সংগ্রহের প্রক্রিয়াকে শুরু করতে পরামর্শ দেয়, তবে গ্যারান্টি দেয় না যে এটি ঠিকমত কার্যকর হবে।
4. getenv()
getenv() মেথডটি সিস্টেমের environment variables থেকে একটি নির্দিষ্ট ভেরিয়েবল এর মান রিটার্ন করে। এটি একটি String হিসেবে রিটার্ন করে।
ব্যবহার:
- এই মেথডটি সাধারণত সিস্টেম বা প্রোগ্রামের কনফিগারেশন মান যাচাই করার জন্য ব্যবহৃত হয়, যেমন ফাইল পাথ বা অন্য যেকোনো পরিবেশ ভেরিয়েবল।
সিনট্যাক্স:
public static String getenv(String name);
উদাহরণ:
public class SystemGetenvExample {
public static void main(String[] args) {
// Get the value of the "PATH" environment variable
String pathValue = System.getenv("PATH");
System.out.println("PATH environment variable: " + pathValue);
}
}
Output:
PATH environment variable: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Note: getenv() মেথডটি সিস্টেমের পরিবেশ ভেরিয়েবল থেকে মান রিটার্ন করে। যদি ভেরিয়েবলটি না থাকে, তবে এটি null রিটার্ন করে।
System ক্লাস Java-এর একটি গুরুত্বপূর্ণ utility ক্লাস, যা বিভিন্ন সিস্টেম লেভেলের কার্যাবলী পরিচালনা করার জন্য ব্যবহৃত হয়। এর কিছু গুরুত্বপূর্ণ মেথড যেমন currentTimeMillis(), exit(), gc(), এবং getenv() বিভিন্ন ধরনের সিস্টেম-ভিত্তিক অপারেশন এবং ডেটা ম্যানিপুলেশন সরবরাহ করে, যেমন সময় পরিমাপ, প্রোগ্রাম টার্মিনেশন, গার্বেজ কোলেকশন এবং সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল ব্যবস্থাপনা।
Read more